Tableau ServerとTSMにALB経由でアクセスしてみた #tableau
Tableau Server、Tableau Services Manager(以下、TSM)にALB経由でアクセスできる環境を作成してみました。本エントリではALBで証明書をターミネーションし、Route 53を利用しドメインを使用した手順を紹介したいと思います。
構成図
最終的には、Zone Apex(ここではnochan.tk
)でTableau Server、サブドメイン(ここではtsm.nochan.tk
)でTSMに接続します。
前提
- VPC、EC2が作成済みであること
- Tableau Serverが構築済みであること
- 参考:Tableau Server 2019.2.2をAmazon Linux 2に構築してみた
- ACMで証明書が取得済みであること
ターゲットグループ作成
Tableau Server用
Tableau Server用のターゲットグループを作成します。ターゲットグループ名は任意ですが、ここではtest-tableau-server-tgr
で作成します。
ALBからターゲットに対してルーティングするポート番号を指定します。Tableau Serverではデフォルトのポートを利用させているので、HTTP:80を設定します。環境にあわせTableau ServerがLISTENしているポート番号を設定してください。
Tableau Serverをターゲットに追加します。この時点でステータスは「unused」になります。
TSM用
TSM用のターゲットグループを作成します。ターゲットグループ名は任意ですが、ここではtest-services-manager-tgr
で作成します。
TSMががLISTENしているHTTPS:8850を設定します。ヘルスチェックのプロトコルは「HTTPS」でパスには「/login」を指定します。
Tableau Serverをターゲットに追加します。先程同様、この時点でステータスは「unused」になります。
ALB作成
ロードバランサーの種類は「Application Load Balancer」を選択します。
リスナーは外部から接続を受け付けるポートになりますので、HTTPS:443を指定します。外部接続用のALBになりますので、アベイラビリティゾーンに、パブリックサブネットを指定します。
ACMで取得済みの証明書を選択します。
ALB用のセキュリティグループを選択します。
既存のターゲットグループを選択し、Tableau Server用ターゲットグループ(test-tableau-server-tgr
)を選択します。
事前にターゲットグループの作成、ターゲットの登録を行っていたので、既にターゲットが登録されている状態です。
意図した通りの設定か確認し、ALBを作成します。
正常に作成できていれば、Tableau Server用ターゲットグループ(test-tableau-server-tgr
)のステータスが「healthy」になります。
ALBのDNS名にアクセスすると、この時点でもTableau Serverに接続することが可能です。
Route 53設定
Route 53のホストゾーン(ここではnochan.tk
)にレコードを追加していきます。
Tableau Server用
Aレコードを選択し、エイリアス先は先程作成したALBを指定します。
TSM用
Aレコードを選択し、TSMにアクセスさせるサブドメイン(ここではtsm
)を入力します。エイリアス先は先程作成したALBを指定します。
リスナールール追加
TSMへはサブドメイン経由でアクセスさせたいので、ALBのリスナーにルールを追加します。
条件で「ホストヘッダー」を選択し、TSMにアクセスさせるドメイン名(tsm.nochan.tk
)を指定します。アクションは転送先を選択し、転送先にTSM用のターゲットグループ(test-services-manager-tgr
)を指定します。
正常に作成できていれば、TSM用ターゲットグループ(test-services-manager-tgr
)のステータスが「healthy」になります。
動作確認
Tableau Server
HTTPSでZone Apex(nochan.tk
)にリクエストすると、Tableau Serverにアクセスすることができました。
TSM
HTTPSでサブドメイン(tsm.nochan.tk
)にリクエストすると、TSMにアクセスすることができました。
補足
本エントリでは、TSMのアクセスにサブドメインを利用しましたが、ALBにリスナーを追加すればZone Apexのポート指定で、TSMにアクセスすることも可能です。(ALBのセキュリティグループにTCP:8850の許可は必要です。)
ALBのリスナーに追加したルールを削除します。
リスナーを追加し、転送先にTSMのターゲットグループ(test-services-manager-tgr
)を指定します。
HTTPSでTSMのポートを指定(nochan.tk:8850
)しリクエストすると、TSMにアクセスすることができました。
最後に
Tableau Server、TSMにドメイン経由でアクセスできる環境の構築手順をご紹介しました。誰かのお役に立てれば幸いです。